// 脚本开始执行
console.log("popup.js 脚本已加载");

// 按钮点击事件监听器
// 使用立即执行函数确保 DOM 已加载
(function () {
  console.log("开始查找按钮...");
  const startButton = document.getElementById("start");
  console.log("找到的按钮:", startButton);

  if (startButton) {
    console.log("按钮已找到，正在绑定点击事件...");
    startButton.addEventListener("click", async () => {
      console.log("按钮被点击了！");
      try {
        // 获取当前活动标签页
        const [tab] = await chrome.tabs.query({
          active: true,
          currentWindow: true,
        });
        console.log("当前标签页:", tab);

        // 将start函数注入到当前标签页执行
        await chrome.scripting.executeScript({
          target: { tabId: tab.id },
          function: start,
        });
        console.log("脚本已成功注入到当前标签页");
      } catch (error) {
        console.error("执行脚本时出错:", error);
      }
    });
    console.log("点击事件已成功绑定");
  } else {
    console.error("未找到 id 为 'start' 的按钮");
    console.log("当前 document.body:", document.body);
    console.log("当前所有按钮:", document.querySelectorAll("button"));
  }
})();

// 这个函数将在网页的上下文中执行
function start() {
  // 默认每 10 分钟检查一次（单位 ms）
  const DEFAULT_INTERVAL_MS = 10 * 60 * 1000;

  const MAX_PLAY_RATE = 3.8;

  const videoNode = document.querySelector("video");
  if (videoNode) {
    /**播放太快会跳秒 */
    videoNode.playbackRate = MAX_PLAY_RATE;
  }

  document.addEventListener("visibilitychange", () => {
    const video = document.querySelector("video");
    if (video) {
      video.muted = true;
      video.play();
      video.playbackRate = MAX_PLAY_RATE;
    }
  });

  setInterval(() => {
    const btns = document.querySelectorAll(".login-warn-btns .ant-btn");
    const video = document.querySelector("video");
    /** 自动执行签到脚本 */
    if (btns && btns.length > 0) {
      btns[0].click();
      if (video) {
        video.play();
        video.playbackRate = MAX_PLAY_RATE;
      }
    }
  }, DEFAULT_INTERVAL_MS);
}
